#ifndef CONSTANTS_H
#define CONSTANTS_H

const char *CE_OUT_FILE = "ce.txt";
const char *INPUT_DATA_FILE = "data.in";
const char *OUTPUT_DATA_FILE = "data.out";
const char *USER_OUTPUT_FILE = "user.out";
const char *USER_ERROR_FILE = "error.out";
const char *DIFF_OUTPUT_FILE = "diff.out";
const char *LANG_EXT[] = {"c", "cc", "java", "py"};

/* compile parameter related */
const char *CP_C[]    = { "gcc", "Solution.c", "-o", "Solution", "-O2","-Wall", "-lm", "--static", "-std=c99", "-DONLINE_JUDGE", NULL };
const char *CP_CPP[]  = { "g++", "Solution.cc", "-o", "Solution","-O2", "-Wall", "-lm", "--static", "-DONLINE_JUDGE", NULL };
const char *CP_PY[]   = { "python","-c", "import py_compile; py_compile.compile(r'Solution.py')", NULL };

#define BUFFER_SIZE 512
#define STD_MB 1048576
#define STD_F_LIM (STD_MB << 5)
#define MAX_COMPILE_INFO_STORE 32767

#define COMPILE_MAX_CPU          600
#define COMPILE_SOFT_CPU         600
#define COMPILE_MAX_FSIZE        (900 * STD_MB)
#define COMPILE_SOFT_FSIZE       (900 * STD_MB)
#define COMPILE_MAX_AS           (STD_MB << 11)
#define COMPILE_SOFT_AS          (STD_MB << 11)

#endif
